package battleofthejavasea;

/**
 *
 * @author Murata, Saito, Santana
 * Classe utilizada para interpretar linhas e colunas do campo 1 (visão dos próprios navios)
 * para valores numéricos usados no J3D.
 */
public class BTJSPositionInterpreter {

    public BTJSPositionInterpreter(){

    }

    //Mapeamento para posicionamento dos barcos nas linhas
    public float getRowValue(String Row){
        String eval = Row.toLowerCase();

        if(eval.equals("a"))
                return -4.5f;
        else if(eval.equals("b"))
                return -3.5f;
        else if(eval.equals("c"))
                return -2.5f;
        else if(eval.equals("d"))
                return -1.5f;
        else if(eval.equals("e"))
                return -0.5f;
        else if(eval.equals("f"))
                return 0.5f;
        else if(eval.equals("g"))
                return 1.5f;
        else if(eval.equals("h"))
                return 2.5f;
        else if(eval.equals("i"))
                return 3.5f;
        else if(eval.equals("j"))
                return 4.5f;
        else
                return 0.0f;
       }

    //Mapeamento para posicionamento dos tiros no painel de tiros
    public float getRowValueShot(String Row){
        String eval = Row.toLowerCase();

        if(eval.equals("a"))
                return 10.5f;
        else if(eval.equals("b"))
                return 9.5f;
        else if(eval.equals("c"))
                return 8.5f;
        else if(eval.equals("d"))
                return 7.5f;
        else if(eval.equals("e"))
                return 6.5f;
        else if(eval.equals("f"))
                return 5.5f;
        else if(eval.equals("g"))
                return 4.5f;
        else if(eval.equals("h"))
                return 3.5f;
        else if(eval.equals("i"))
                return 2.5f;
        else if(eval.equals("j"))
                return 1.5f;
        else
                return 0.0f;
       }

    //Mapeamento para posicionamento dos barcos nas colunas
    //O método tbm é utilizado para posicionamento de tiros, visto que a posX não se altera p/ o plano de disparos.
    public float getColumnValue(int Column){
        switch(Column){
            case 1:
                return -4.5f;
            case 2:
                return -3.5f;
            case 3:
                return -2.5f;
            case 4:
                return -1.5f;
            case 5:
                return -0.5f;
            case 6:
                return 0.5f;
            case 7:
                return 1.5f;
            case 8:
                return 2.5f;
            case 9 :
                return 3.5f;
            case 10:
                return 4.5f;
            default:
                return 0.0f;
        }

    }
    
    //Determina se deseja rotação (posicionamento dos barcos)
    public boolean setRotation(String a){
        String eval = a.toLowerCase();
        if(eval.equals("s"))
            return true;
        else
            return false;

    }
    


}


